/**
 * 表格列渲染组件的入口文件
 */


import ImgRender from "@/components/TableRender/ImgRender"
import TagRender from "@/components/TableRender/TagRender"
import SwitchRender from "@/components/TableRender/SwitchRender"

import HtmlRender from "@/components/TableRender/HtmlRender"
import ButtonRender from "@/components/TableRender/ButtonRender"
let renderMap = {
  '图': ImgRender,
  '标': TagRender,
  '切换1': SwitchRender,
  '编2': HtmlRender,
  '按钮': ButtonRender,
}

/**
 * @description 表格，根据type，渲染的内容
 * @param { string } text 值。文本内容
 * @param { object } record 单条（一行）数据
 * @param { string } type 渲染类型，在tableConfig.tableColumn里传递
 * @param { string } tableName 表名
 * @param { string } columnName 列名
 * @param { Array } options 下拉选项
 * 
 * 可选
 * @param { string } btnText ButtonRender按钮的文字
 * @param { Function } handleTableEvent 表单列的点击事件

 */
export default function getTableRender(data) {

  // 其它
  let TableRender = renderMap[data.type]

  if (!TableRender) {
    return data.text
  }

  return <TableRender {...data} />
}
